﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace SistemaComprasVentaYICHAN
{
    public class GestorProveedor
    {
        private static GestorProveedor instance;
        private List<Proveedor> ListaProveedores = new List<Proveedor>();

        public GestorProveedor()
        {
            Proveedor p = new Proveedor("000001", "RRRR SSSS0", "NNNN CCCC0", "1234567", "7654321", "111111111111", "eeeee0@eeee.com", "dddddddddd0", "ccccccc0", "nacional", "pppppp0", "soles");
            ListaProveedores.Add(p);
            p = new Proveedor("000002", "RRRR SSSS1", "NNNN CCCC1", "1234568", "7654322", "2222222222222", "eeeee1@eeee.com", "dddddddddd1", "ccccccc1", "extranjero", "pppppp1", "dolares");
            ListaProveedores.Add(p);
            p = new Proveedor("000003", "RRRR SSSS2", "NNNN CCCC2", "1234569", "7654323", "3333333333333", "eeeee2@eeee.com", "dddddddddd2", "ccccccc2", "extranjero", "pppppp2", "dolares");
            ListaProveedores.Add(p);
            p = new Proveedor("000004", "RRRR SSSS3", "NNNN CCCC3", "1234570", "7654324", "4444444444444", "eeeee3@eeee.com", "dddddddddd3", "ccccccc3", "nacional", "pppppp3", "soles");
        }

        public static GestorProveedor getInstance
        {
            get
            {
                if (instance == null)
                {
                    instance = new GestorProveedor();
                }
                return instance;
            }
        }

        public void AgregarProveedor(string CodigoProveedor, string RazonSocial, string NombreContacto, string TelefonoContacto, string TelefonoEmpresa, string RUC, string Email, string Direccion, string Ciudad, string Tipo, string Pais, string Divisa)
        {
            Proveedor p = new Proveedor(CodigoProveedor, RazonSocial, NombreContacto, TelefonoContacto, TelefonoEmpresa, RUC, Email, Direccion, Ciudad, Tipo, Pais, Divisa);
            ListaProveedores.Add(p);
        }
        public void ModificarProveedor(string CodigoProveedor, string RazonSocial, string NombreContacto, string TelefonoContacto, string TelefonoEmpresa, string RUC, string Email, string Direccion, string Ciudad, string Tipo, string Pais, string Divisa)
        {
            Proveedor p = BuscarProveedor(CodigoProveedor);
            if (p != null)
            {
                p.getCodigo = CodigoProveedor;
                p.getRazonSocial = RazonSocial;
                p.getNombreContacto = NombreContacto;
                p.getTelefonoContacto = TelefonoContacto;
                p.getTelefonoEmpresa = TelefonoEmpresa;
                p.getRUC = RUC;
                p.getEmail = Email;
                p.getDireccion = Direccion;
                p.getCiudad = Ciudad;
                p.getTipo = Tipo;
                p.getPais = Pais;
                p.getDivisa = Divisa;
            }
        }

        public void EliminarProveedor(string CodigoProveedor)
        {
            Proveedor p = BuscarProveedor(CodigoProveedor);
            if (p != null)
            {
                ListaProveedores.Remove(p);
            }
        }

        public Proveedor BuscarProveedor(string CodigoProveedor)
        {
            int i;
            for (i = 0; i < ListaProveedores.Count; i++)
            {
                if (ListaProveedores[i].getCodigo.Equals(CodigoProveedor))
                    return ListaProveedores[i];
            }
            return null;
        }

        public List<Proveedor> getListaProveedores
        {
            get { return ListaProveedores; }
        }
    }
}
